/**
 * 
 */
package com.enjoyor.soa.traffic.api.service.dubbo.ovms;

import java.util.Map;

import com.enjoyor.soa.traffic.api.dto.ovms.DevGroupDto;
import com.enjoyor.soa.traffic.api.dto.ovms.LogUserDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * @author ly 设备组
 */
public interface DubboDeviceGroupService {
	/**
	 * 获取设备组列表
	 * 
	 * @param token
	 * @param systemkey
	 * @param map
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getDeviceGroupList(String token, String systemkey, LogUserDto logUser, Map map);

	/**
	 * 获取设备组分页
	 * 
	 * @param token
	 * @param systemkey
	 * @param map
	 * @param page
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getDeviceGroupPage(String token, String systemkey, LogUserDto logUser, Map map, Page page);

	/**
	 * 删除设备组
	 * 
	 * @param token
	 * @param systemkey
	 * @param record_id
	 * @return
	 */
	public ResultPojo deleteDeviceGroup(String token, String systemkey, LogUserDto logUser, String group_id);

	/**
	 * 新增设备组
	 * 
	 * @param token
	 * @param systemkey
	 * @param group
	 * @return
	 */
	public ResultPojo insertDeviceGroup(String token, String systemkey, LogUserDto logUser, DevGroupDto group);

	/**
	 * 更新设备组
	 * 
	 * @param token
	 * @param systemkey
	 * @param group
	 * @return
	 */
	public ResultPojo updateDeviceGroup(String token, String systemkey, LogUserDto logUser, DevGroupDto group);

	/**
	 * 根据设备组分组获取统计数据
	 * 
	 * @param token
	 * @param systemkey
	 * @param map
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public ResultPojo getDeviceGroupCount(String token, String systemkey, LogUserDto logUser, Map map);
}
